import 'package:flutter/widgets.dart';
import 'shake_constant.dart';

class ShakeSlowConstant1 implements ShakeConstant {
  @override
  List<int> get interval => [2];

  @override
  List<double> get opacity => const [];

  @override
  List<double> get rotate => const [
        0,
        3.5,
        0.5,
        -2.5,
        3.5,
        -1.5,
        -1.5,
        3.5,
        -1.5,
        1.5,
        0.5,
        1.5,
        0.5,
        0.5,
        0.5,
        -0.5,
        0.5,
        -0.5,
        -1.5,
        -1.5,
        -2.5,
        -2.5,
        3.5,
        -1.5,
        2.5,
        3.5,
        0.5,
        0.5,
        3.5,
        0.5,
        -1.5,
        -0.5,
        -0.5,
        0.5,
        1.5,
        3.5,
        -1.5,
        0.5,
        -0.5,
        2.5,
        0.5,
        -1.5,
        -0.5,
        0.5,
        1.5,
        2.5,
        2.5,
        -2.5,
        0.5,
        -0.5,
        0
      ];

  @override
  List<Offset> get translate => const [
        Offset(0, 0),
        Offset(-9, 9),
        Offset(-2, 8),
        Offset(-3, 1),
        Offset(8, 1),
        Offset(-9, 9),
        Offset(4, -1),
        Offset(3, -1),
        Offset(-4, 1),
        Offset(10, 4),
        Offset(9, 0),
        Offset(9, 1),
        Offset(-7, -5),
        Offset(7, -6),
        Offset(9, -1),
        Offset(5, -8),
        Offset(-6, -5),
        Offset(-7, 10),
        Offset(-6, -4),
        Offset(-3, -8),
        Offset(7, -1),
        Offset(3, 2),
        Offset(9, 6),
        Offset(8, -1),
        Offset(4, -5),
        Offset(9, 7),
        Offset(10, 6),
        Offset(0, -3),
        Offset(7, 2),
        Offset(10, 5),
        Offset(0, -5),
        Offset(-9, 1),
        Offset(-5, -2),
        Offset(1, -4),
        Offset(1, -4),
        Offset(-1, 5),
        Offset(7, -1),
        Offset(-9, -2),
        Offset(8, 0),
        Offset(-1, -6),
        Offset(-3, 8),
        Offset(-3, 6),
        Offset(5, 8),
        Offset(-2, -2),
        Offset(-3, -4),
        Offset(1, 5),
        Offset(9, 4),
        Offset(-4, 1),
        Offset(-1, 3),
        Offset(-1, 5),
        Offset(0, 0)
      ];

  @override
  Duration get duration => const Duration(milliseconds: 5000);
}

class ShakeSlowConstant2 implements ShakeConstant {
  @override
  List<int> get interval => [2];

  @override
  List<double> get opacity => const [];

  @override
  List<double> get rotate => const [
        0,
        -1.5,
        -2.5,
        -0.5,
        0.5,
        -1.5,
        -1.5,
        -0.5,
        0.5,
        1.5,
        -2.5,
        -2.5,
        -0.5,
        1.5,
        3.5,
        -0.5,
        -0.5,
        0.5,
        3.5,
        1.5,
        -0.5,
        -0.5,
        0.5,
        -2.5,
        -2.5,
        -1.5,
        -1.5,
        3.5,
        0.5,
        0.5,
        3.5,
        1.5,
        -0.5,
        -2.5,
        -2.5,
        1.5,
        -1.5,
        1.5,
        -1.5,
        -2.5,
        -2.5,
        0.5,
        3.5,
        -0.5,
        -1.5,
        -0.5,
        2.5,
        3.5,
        0.5,
        -2.5,
        0
      ];

  @override
  List<Offset> get translate => const [
        Offset(0, 0),
        Offset(1, 5),
        Offset(7, 4),
        Offset(8, -2),
        Offset(2, 10),
        Offset(3, 0),
        Offset(-8, 9),
        Offset(-9, -6),
        Offset(8, -2),
        Offset(-1, -5),
        Offset(-2, -5),
        Offset(-4, -3),
        Offset(-7, 5),
        Offset(-5, 5),
        Offset(-1, 6),
        Offset(-2, 6),
        Offset(2, 10),
        Offset(-9, 1),
        Offset(-7, 5),
        Offset(-7, 9),
        Offset(7, -8),
        Offset(8, 7),
        Offset(-3, -2),
        Offset(1, 2),
        Offset(-6, -2),
        Offset(-8, -1),
        Offset(5, 10),
        Offset(7, -9),
        Offset(-7, -5),
        Offset(3, 3),
        Offset(4, -5),
        Offset(9, 9),
        Offset(-5, 10),
        Offset(-8, -9),
        Offset(-4, -8),
        Offset(6, -8),
        Offset(8, -6),
        Offset(-6, 7),
        Offset(2, 5),
        Offset(2, 0),
        Offset(-7, 3),
        Offset(-9, -4),
        Offset(4, 9),
        Offset(-7, 6),
        Offset(3, -3),
        Offset(1, -3),
        Offset(4, 3),
        Offset(9, 1),
        Offset(-8, 3),
        Offset(-8, -7),
        Offset(0, 0)
      ];
  @override
  Duration get duration => const Duration(milliseconds: 5000);
}
